#ifdef GL_ES
precision mediump float;
#endif

#define PI 3.14159265359

uniform vec2 u_resolution;
uniform vec2 u_mouse;
uniform float u_time;

// 两个相减 出现了一个从pct-.02到pct+.02的过渡 是0到1的过度 查看smoothstep函数曲线就知道了
float plot(vec2 st,float pct){
    return smoothstep(pct-.02,pct,st.y)-
    smoothstep(pct,pct+.02,st.y);
}

void main(){
    vec2 st=gl_FragCoord.xy/u_resolution;
    
    // 曲线
    float y=sin(st.x);
    // 拿曲线作为颜色传入 也就是0到1，黑到白
    vec3 color=vec3(y);
    
    float pct=plot(st,y);
    // 有线的时候用绿色，没线的地方用原来的颜色，也就是黑渐变到白
    color=pct*vec3(0.,1.,0.);
    gl_FragColor=vec4(color,1.);
}